package com.xiaoniu.mc.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

/**
 * @类描述：
 * @创建人：林继丰
 * @创建时间：2017/8/18 11:51
 * @版权：Copyright (c) 深圳市牛鼎丰科技有限公司-版权所有.
 */
public class PropertiesUtil {

    /**
     * 集成所有properties属性文件数据的封装类：Map
     */
    private static final Properties properties = new Properties();

    /**
     * 文件名后缀
     */
    private static String suffix = ".properties";

    /**
     * 获取封装所有properties文件数据的Properties对象
     *
     * @return
     */
    public static Properties getProperties() {
        return properties;
    }

    /**
     * 获取文件下配置文件
     *
     * @param file
     */
    public static void loadProperties(String file) {
        String basePath = Class.class.getClass().getResource("/").getPath() + file;
        File basicFile = new File(basePath);
        if (!basicFile.exists()) {  //如果文件不存在则返回false
            return;
        }
        for (File tempFile : basicFile.listFiles()) {
            FileInputStream fis = null;
            if (tempFile.isFile() && tempFile.getName().toLowerCase().contains(suffix)) {
                try {
                    fis = new FileInputStream(tempFile);
                    properties.load(fis);
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    try {
                        if (fis != null)
                            fis.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            } else {
                loadProperties(tempFile.getAbsolutePath());
            }
        }
        return;
    }

    public static void main(String[] args) {
        loadProperties("");
        System.out.println(properties.get("fuck"));
    }

}

